package co.gov.medellin.ssti.sub.model.service.impl;

import java.util.Collection;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import co.gov.medellin.ssti.sub.model.dao.ReporteTotalGrupoFamiliarDAO;
import co.gov.medellin.ssti.sub.model.dao.exception.DAOException;
import co.gov.medellin.ssti.sub.model.service.ReporteTotalGrupoFamiliarService;
import co.gov.medellin.ssti.sub.model.vo.CondicionConsultaVO;
import co.gov.medellin.ssti.sub.model.vo.ReporteGrupoFamiliarVO;
import co.gov.medellin.ssti.sub.model.vo.ReporteTotalGrupoFamiliarVO;
import co.gov.medellin.ssti.sub.model.vo.SubprogramaVO;

@Service
public class ReporteTotalGrupoFamiliarServiceImpl implements
		ReporteTotalGrupoFamiliarService {
	@Autowired
	ReporteTotalGrupoFamiliarDAO reporteTotalGrupoFamiliarDAOImpl2;

	public Collection<ReporteTotalGrupoFamiliarVO> findReportGrupoFamiliar(
			ReporteGrupoFamiliarVO criteria, List<CondicionConsultaVO> lFilters) {
		try {
			return reporteTotalGrupoFamiliarDAOImpl2.findReportGrupoFamiliar(
					criteria, lFilters);
		} catch (Exception e) {
			throw new DAOException(e);
		}
	}

	public Collection<ReporteTotalGrupoFamiliarVO> findIndividualReport(
			Long codeGF) {
		// TODO Auto-generated method stub
		return null;
	}

	public Collection<ReporteTotalGrupoFamiliarVO> findTotalReportGrupoFamiliar(
			ReporteGrupoFamiliarVO criteria, List<CondicionConsultaVO> lFilters) {
		try {
			return reporteTotalGrupoFamiliarDAOImpl2
					.findTotalReportGrupoFamiliar(criteria, lFilters);
		} catch (Exception e) {
			throw new DAOException(e);
		}
	}

	public Collection<SubprogramaVO> findProgSubprog(Long codeUser,
			String userGroupName, Long codeArea) {
		try {
			return reporteTotalGrupoFamiliarDAOImpl2.findProgSubprog(codeUser,
					userGroupName, codeArea);
		} catch (Exception e) {
			throw new DAOException(e);
		}
	}

	public ReporteGrupoFamiliarVO findFilters(ReporteGrupoFamiliarVO repGFVO) {
		try {
			return reporteTotalGrupoFamiliarDAOImpl2.findFilters(repGFVO);
		} catch (Exception e) {
			throw new DAOException(e);
		}
	}

}
